This invention relates to data object categorization and validation and, more particularly, to a system which provides for creation, tracking and reporting of data objects based upon predefined and validated categories.
In the Enterprise Network Environment, organizations gather and analyze a tremendous amount of data relating to all the various activities of an organization's resources. This data could relate to the performance of services, such as managing projects and resources or the distribution and sale of products. The information gathering process begins with the creation of a data object relating to the activity to be monitored and analyzed.
For example, in a project management system, projects and tasks associated with each project must be created and stored in the enterprise or primary database before the project management system to begin collecting data relating to the performance of each project or task. In an enterprise or distributed environment, the project managers and resources they manage (typically people) may be distributed geographically and their connection to the enterprise network and the enterprise database may be periodic or mobile, such as a salesperson traveling or a consultant at a client site. Typically, these remote users enter information offline and later connect to the network via a wide area network (WAN) connection (such as a dialup connection or over the Internet) to upload or download information.
In one prior art system, the project managers create projects and assign tasks offline using a local database resident on their workstation. This local database replicates resource and project information needed by the project manager to manage his or her resources. This information can be updated whenever a connection is established to the enterprise network and the enterprise database. In a similar manner, the manager's resources log hours and costs associated with projects and tasks, also offline, using a local database that replicates the project and task information from the enterprise database.
In these prior art systems, project managers create projects and tasks in the project management system by assigning a label (a descriptive name or title) to the project or task and providing additional primary information. This primary information is information that is essential for the native application to perform its native function, typically, task/resource scheduling. In the project management system, the primary information is information essential to enable the scheduling algorithm (typically a critical path or best fit algorithm) to perform native scheduling functions. Such as predicting project completion dates and reporting resource allocation. In addition, each project and task can include a number of additional fields for tracking and reporting purposes. This secondary information can include categories for classifying projects, tasks and resources within the entire organization or enterprise. This information can include a client or customer name or project number as well as other information relating to the type of tasks performed. The secondary information can be used later for reporting purposes.
In many instances, it is desirable to monitor and report the status of a particular type of task (such as software development) or of particular types of tasks performed for all the projects of a particular client. In the prior art systems, an enterprise database query based upon the secondary information recorded in the additional fields of the project and task database is used to extract this data. However, if the secondary information recorded in the additional fields is not complete and consistent, the database query will yield incomplete results. For example, if three separate project managers worked on the software component, the hardware component and the production aspects of a research and development project, the software manager might assign a task and specify the type (category) as "Software Development", the hardware manager may assign a different task and specify the type as simply "Research and Development" and the production manager may assign yet another task and also specify the type as "Research and Development". (Note that any of the managers could have left the field blank.) A problem arises because the content type field is different for two tasks and the same for two tasks and thus, there is no way to efficiently query the data base in order to determine the total "Research and Development" for the project or to determine which tasks are associated with production research and development as opposed to hardware research and development.
Accordingly, it is an object of this invention to provide an improved system for storing information relating to data objects in a database.
It is another object of this invention to provide an improved system for storing information relating to data objects in a database that provides for more complete and accurate analysis and reporting of the database.
It is yet another object of this invention to provide an improved project management system for storing information relating to projects, project tasks and resources.
It is a further object of this invention to provide an improved project management system for storing, analyzing and reporting information relating to projects, project tasks and resources which provides for consistent entry of classification and categorization information useful for analyzing and reporting information relating to projects, project tasks and resources.
It is a further object of this invention to provide an improved project management system for storing, analyzing and reporting information relating to projects, project tasks and resources which provides for validation of information useful in project analysis and reporting that is not essential to native function of the project management system.